9.2 Conway’s Game of Life¶
Im Folgenden widmen wir uns einem der berühmtesten aller zellulären Automaten: Conway’s Game of Life. Bekannt wurde das “Game of Life” durch eine Veröffentlichung von Martin Gardner im Jahr 1970. Den Text des Original-Artikels findest du hier.
Die Regeln des Game of Life gehen so: Auf einem Grid befinden sich Zellen, welche in einem Moment einen von zwei Zustände annehmen können: tot oder lebendig. In jedem Zeitschritt entscheidet sich, ob eine tote Zelle zum Leben erwacht, eine lebendige Zelle stirbt oder am Leben bleibt. Geburt, Leben und Tod hängen dabei von den 8 Nachbarzellen einer Zelle ab.
Die genauen Regeln lauten so:
Eine tote Zelle mit genau drei lebenden Nachbarn wird in der Folgegeneration neu geboren.
Lebende Zellen mit weniger als zwei lebenden Nachbarn sterben in der Folgegeneration an Einsamkeit.
Eine lebende Zelle mit zwei oder drei lebenden Nachbarn bleibt in der Folgegeneration am Leben.
Lebende Zellen mit mehr als drei lebenden Nachbarn sterben in der Folgegeneration an Überbevölkerung.
Wichtig ist, dass diese Regeln in jedem Zeitschritt für jede Zelle “gleichzeitig” angewendet werden. Wir haben also eine synchrone Aktualisierung der “Agenten” bzw. Zellen. Erst nehmen alle Zellen denselben Zustand der Welt wahr, reagieren für die anderen Zellen nicht wahrnehmbar darauf und setzen intern ihren neuen Zustand für den nächsten Zeitrschritt fest. Erst wenn alle Zellen ihren neuen Status intern festgelegt haben, setzen
Unten siehst du zwei Videos einer Implementierung des Game of Life mit Python und der Animierung mit Matplotlib + Celluloid.
Video("game_of_life_video1.mp4", embed = True, width = 600)